package framework.view {
	import flash.events.Event;
	import org.robotlegs.mvcs.Mediator;

	/**
	 * @author Charlie MacIsaac
	 */
	
	public class ProfilerMediator extends Mediator {
		// PROPERTIES =============================================================================
		[Inject]	public var view : Profiler;
		
		// GETTERS + SETTERS ======================================================================
		// CONSTRUCTOR ============================================================================
		public function ProfilerMediator() { }
		
		// PUBLIC =================================================================================
		override public function onRegister():void 
		{
			super.onRegister();
			
			view.init();
			
			if (view.stage) {
				view.enable();
				view.removedFromStageSignal.addOnce(removedFromStageHandler);
			}
			else {
				view.addedToStageSignal.addOnce(addedToStageHandler);
			}
		}
		
		// PRIVATE ================================================================================
		// LISTENERS ==============================================================================
		private function addedToStageHandler(e : Event) : void {
			view.enable();
			view.removedFromStageSignal.addOnce(removedFromStageHandler);
		}
		
		private function removedFromStageHandler(e : Event) : void {
			view.disable();
			view.addedToStageSignal.addOnce(addedToStageHandler);
		}
	}
}